DMLExecutor.java
package org.codefilarete.stalactite.engine.runtime;
import org.codefilarete.stalactite.mapping.EntityMapping;
import org.codefilarete.stalactite.sql.statement.DMLGenerator;
import org.codefilarete.stalactite.sql.ddl.structure.Table;
import org.codefilarete.stalactite.sql.ConnectionProvider;
/**
* CRUD Persistent features dedicated to an entity class. Kind of sliding door of {@link BeanPersister} aimed at running
* actions for it.
*
* @author Guillaume Mary
*/
public abstract class DMLExecutor<C, I, T extends Table<T>> {
private final EntityMapping<C, I, T> mapping;
private final ConnectionProvider connectionProvider;
private final DMLGenerator dmlGenerator;
private final int inOperatorMaxSize;
public DMLExecutor(EntityMapping<C, I, T> mapping, ConnectionProvider connectionProvider,
DMLGenerator dmlGenerator, int inOperatorMaxSize) {
this.mapping = mapping;
this.connectionProvider = connectionProvider;
this.dmlGenerator = dmlGenerator;
this.inOperatorMaxSize = inOperatorMaxSize;
}
public EntityMapping<C, I, T> getMapping() {
return mapping;
}
public ConnectionProvider getConnectionProvider() {
return connectionProvider;
}
public DMLGenerator getDmlGenerator() {
return dmlGenerator;
}
public int getInOperatorMaxSize() {
return inOperatorMaxSize;
}
}